package com.augurit.gzcgwsp.csshlj.service;

import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springside.modules.orm.Page;
import com.augurit.common.base.service.ICrudService;
import com.augurit.common.system.web.auth.form.LoginUserForm;
import com.augurit.gzcgwsp.csshlj.entity.ShljYs;
import com.augurit.gzcgwsp.csshlj.form.ShljYsBaForm;
import com.augurit.gzcgwsp.csshlj.form.ShljYsForm;
import com.augurit.wf.bi.web.form.WfBusInstanceTaskForm;
public interface IShljYsService extends ICrudService<ShljYsForm, Long> {
    public void changeYslState(Long id, Long state,String yslThyy);
	public void changeIsycbl(Long id, String state);
	/**
     * 设置该案件为咨询服务案件
     * @param id
     */
    //public void changeIsZxfwaj(Long id);
    public void endSave(Long id);
    
	//通过案件号获得实体类
    public List<ShljYs> getByAcceptNo(String acceptNo);
    
    

    /**
	 * 通过ID号,改变窗口是否可打印受理通知书状态(1为是；0和空为否)
	 * @param id 
	 * @return 
	 */
	public void changeSendAcceptNotice(Long id);
	
	/**
	 * 通过ID号,改变窗口是否可打印延期办理结果通知书状态(1为是；0和空为否)
	 * @param id 
	 * @return 
	 */
	public void changeSendYqNotice(Long id);
	
	/**
	 * 根据ID获得对象实体
	 * @param id
	 * @return
	 */  
	public ShljYs getEntity(Long id);
	
	/**
     * 保存对象实体
     * @param ywHwShSqb
     */     
    public void saveEntity(ShljYs shljYs);
    
    /**
     * 查询受理日期
     * @param id
     * @param fileCode
     * @param tempId
     * @return
     */
	public String getSlrq(Long id, String fileCode, Long tempId);
	
	/**
     * sql查询出水域的集合
     * @param id
     * @return
     */
    public List getListById(Long id);
    
    /**
     * 导入前检查文件是否存在
     * @param templateCode
     * @param filename
     * @param id
     * @param qyid
     * @return
     */
	public boolean checkData(String templateCode, String filename, Long id,
			Long qyid);
	
	/**
	 * 导入
	 * @param form
	 * @param map
	 * @return
	 */
	public String importData(ShljYsForm form, Map map);
	

    /**
	 * 保存证书
	 * @param form
	 * @param tablename
	 */
	public void doUpdate(ShljYsForm form,String tablename);
	
	/**
     * 保存副本
     * @param form
     * @param string
     */
	public void doUpdateFb(ShljYsForm form, String tablename);
    
    /**
	 * 查询form
	 * @param id
	 * @param tablename
	 * @return
	 */
	public ShljYsForm getForm(Long id,String tablename);


	/**
	 * 获取申请表文件路径
	 * @param map
	 * @return
	 */
	public String getSqbFilePath(Map map);
	
	/**
	 * 打印写数据
	 * @param form
	 * @param context
	 * @param inpath
	 * @return
	 */
	public String writeXkzData(ShljYsForm form, String context,String inpath);

	/**
	 * 打印写入数据
	 * @param form
	 * @param context
	 * @param inpath
	 * @return
	 */
	public String writeFbData(ShljYsForm form, String context, String inpath);
	

	/**
	 * 获取收件通知书里面的材料列表
	 * @param form
	 * @return
	 */
	public ShljYsForm getSjtzsField(ShljYsForm form);
	/**
	 * 生成证书编号
	 * @param tablename
	 * @return
	 */
	public String createZsbh(Map map,Long id);
	/**
	 * 反射设置属性
	 * @param form
	 */
	public void reSetForm(ShljYsForm form);
	
	//自动启动流程
	public void autoStartProc(ShljYsForm form,String templateCode);
	
	//---获取待在办出证数据--
	public Page getDbData(Page page,Map map);
	/**
	 * 获取待办的所有数据
	 * @param map
	 * @return
	 */
	public List<Object[]> getDbDatas(Map map);
	
	//新增
	public WfBusInstanceTaskForm wfBusSave(HttpServletRequest request,
			ShljYsForm form, Map map, String username);
	/**
	 * 获取已结的信息
	 * @param form
	 * @param type
	 * @return
	 */
	public List getYjInfo(ShljYsBaForm form,String type);
	
	/**
     * 保存政务中心的统一查询编号和密码
     * @param id
     * @param serialNo
     * @param password
     */
    public void saveSerialNoAndPassword(Long id,String serialNo,String password);
    /**
     * 保存发证信息
     * @param map
     */
	public void saveOtherInf(Map map);
	public String wfBusYslTuih(ShljYsForm form,LoginUserForm loginUser) throws Exception;
}